const express = require('express');
const router = express.Router();
const db = require('../db'); // 你的数据库连接模块

// 新增课程接口
router.post('/teacher/addCourse', (req, res) => {
    const { course_code, course_name, course_description, course_img, teacher_id } = req.body;
    console.log(req.body);
    // 检查必填字段
    if (!course_code || !course_name || !course_description || !teacher_id) {
        return res.status(400).json({ message: '课程代码、课程名称、课程描述和教师ID不能为空' });
    }

    // 插入课程数据，状态为 'pending'
    const query = 'INSERT INTO course (course_code, course_name, course_description, course_img, course_approval_status, teacher_id) VALUES (?, ?, ?, ?, ?, ?)';
    db.query(query, [course_code, course_name, course_description, course_img, 'pending', teacher_id], (err, result) => {
        if (err) {
            console.error('数据库插入失败:', err);
            return res.status(500).json({ message: '数据库操作失败' });
        }
        res.status(200).json({ message: '课程新增成功', course_id: result.insertId });
    });
});

// 删除课程接口
router.delete('/teacher/deleteCourse/:courseId', (req, res) => {
    const { courseId } = req.params;

    // 检查 courseId 是否存在
    if (!courseId) {
        return res.status(400).json({ message: '课程ID不能为空' });
    }

    // 删除课程数据
    const query = 'DELETE FROM course WHERE course_id = ?';
    db.query(query, [courseId], (err, result) => {
        if (err) {
            console.error('数据库删除失败:', err);
            return res.status(500).json({ message: '数据库操作失败' });
        }

        // 如果没有删除到任何数据
        if (result.affectedRows === 0) {
            return res.status(404).json({ message: '课程未找到' });
        }

        res.status(200).json({ message: '课程删除成功' });
    });
});

// 修改课程接口
router.put('/teacher/updateCourse/:courseId', (req, res) => {
    const { courseId } = req.params;
    const { course_code, course_name, course_description, course_img } = req.body;

    // 检查必填字段
    if (!course_code || !course_name || !course_description) {
        return res.status(400).json({ message: '课程代码、课程名称和课程描述不能为空' });
    }

    // 更新课程数据
    const query = `
        UPDATE course
        SET course_code = ?, course_name = ?, course_description = ?, course_img = ?
        WHERE course_id = ?
    `;
    db.query(query, [course_code, course_name, course_description, course_img, courseId], (err, result) => {
        if (err) {
            console.error('数据库更新失败:', err);
            return res.status(500).json({ message: '数据库操作失败' });
        }

        // 如果没有更新到任何数据
        if (result.affectedRows === 0) {
            return res.status(404).json({ message: '课程未找到' });
        }

        res.status(200).json({ message: '课程更新成功' });
    });
});

module.exports = router;
